package com.example.emos.wx.db.dao;

import com.example.emos.wx.db.pojo.TbCheckin;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.ArrayList;
import java.util.HashMap;

@Mapper
@Repository
public interface TbCheckinDao {
    /**
     * 查询当前登录用户今天是否已经签到
     * @param param 参数
     * @return null：未签到  ，反之是今天已经签到
     */
    Integer haveCheckin(HashMap<String,Object> param);

    /**
     * 插入签到数据
     * @param checkin 签到实体类
     */
    void insert(TbCheckin checkin);

    /**
     * 查询当天签到是正常还是迟到，是疫情高风险还是低风险区域
     * @param userId 用户id
     * @return 签到数据
     */
    HashMap<String,Object> searchTodayCheckin(int userId);

    /**
     * 查询用户总的签到记录
     * @param userId 用户id
     * @return 签到天数
     */
    long searchCheckinDays(int userId);

    /**
     * 一周内用户的考勤情况
     * @param param 参数：用户id、开始时间、结束时间
     * @return 用户考勤情况
     */
    ArrayList<HashMap<String,Object>> searchWeekCheckin(HashMap<String,Object> param);

    /**
     * 删除用户的考勤记录
     * @param userId 用户id
     * @return >0表示删除成功
     */
    int deleteUserCheckin(int userId);
}